package com.hehe.controller;


import lombok.Getter;

/*
 * 自定义返回接口封装,
 * 比如:    return MyResponse.ERROR("请登录");
 *
 * 返回的是 json 格式, 需要加 @ResponseBody 表明返回类型
 */
@Getter
public class MyResponse<T> {
    private final boolean success; // 状态: true=成功, false=失败
    private final String message;  // 提示信息
    private final T data;          // 可选的返回数据

    private MyResponse(boolean success, String message, T data) {
        this.success = success;
        this.message = message;
        this.data = data;
    }

    // 成功
    public static <T> MyResponse<T> SUCCESS(String message) {
        return new MyResponse<>(true, message, null);
    }

    public static <T> MyResponse<T> SUCCESS(String message, T data) {
        return new MyResponse<>(true, message, data);
    }

    // 失败
    public static <T> MyResponse<T> ERROR(String message) {
        return new MyResponse<>(false, message, null);
    }

    public static <T> MyResponse<T> ERROR(String message, T data) {
        return new MyResponse<>(false, message, data);
    }
}
